package com.gao.api.gate.quick.proto.push;

import com.gao.api.gate.quick.proto.http.HttpMethod;
import com.gao.api.gate.quick.proto.http.HttpRequest;

/**
 * <p></p>
 *
 * @author gaoshuangwen
 * @since 2022/01/11 13:53
 */
public interface AsyncInvokerEndpoint {


    AsyncInvokerBuilder build(HttpRequest request);

    AsyncInvokerBuilder build(String url, HttpMethod method);

    default AsyncInvokerBuilder buildGet(String url){
        return build(url, HttpMethod.get);
    }

    default AsyncInvokerBuilder buildPost(String url){
        return build(url, HttpMethod.post);
    }

    default AsyncInvokerBuilder buildPut(String url){
        return build(url, HttpMethod.put);
    }

    default AsyncInvokerBuilder buildDelete(String url){
        return build(url, HttpMethod.delete);
    }




}
